<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Disjoint Stable Set Problems - Formulations by Representatives and Combinatorial Solvers: MultiLevelDirectlyAddressedSet&lt; T &gt;::FilteredIterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Disjoint Stable Set Problems - Formulations by Representatives and Combinatorial Solvers
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a></li><li class="navelem"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html">FilteredIterator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">MultiLevelDirectlyAddressedSet&lt; T &gt;::FilteredIterator Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A filtered iterator on the set of elements.  
 <a href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="MultiLevelDirectlyAddressedSet_8h_source.html">MultiLevelDirectlyAddressedSet.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for MultiLevelDirectlyAddressedSet&lt; T &gt;::FilteredIterator:</div>
<div class="dyncontent">
<div class="center"><img src="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator__inherit__graph.png" border="0" usemap="#MultiLevelDirectlyAddressedSet_3_01T_01_4_1_1FilteredIterator_inherit__map" alt="Inheritance graph"/></div>
<map name="MultiLevelDirectlyAddressedSet_3_01T_01_4_1_1FilteredIterator_inherit__map" id="MultiLevelDirectlyAddressedSet_3_01T_01_4_1_1FilteredIterator_inherit__map">
<area shape="rect" id="node2" href="classDirectlyAddressedSet_1_1Iterator.html" title="A general iterator to scan a DirectlyAddressedSet." alt="" coords="24,6,173,53"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for MultiLevelDirectlyAddressedSet&lt; T &gt;::FilteredIterator:</div>
<div class="dyncontent">
<div class="center"><img src="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator__coll__graph.png" border="0" usemap="#MultiLevelDirectlyAddressedSet_3_01T_01_4_1_1FilteredIterator_coll__map" alt="Collaboration graph"/></div>
<map name="MultiLevelDirectlyAddressedSet_3_01T_01_4_1_1FilteredIterator_coll__map" id="MultiLevelDirectlyAddressedSet_3_01T_01_4_1_1FilteredIterator_coll__map">
<area shape="rect" id="node2" href="classDirectlyAddressedSet_1_1Iterator.html" title="A general iterator to scan a DirectlyAddressedSet." alt="" coords="41,6,191,53"/><area shape="rect" id="node4" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing." alt="" coords="115,120,264,149"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad824e2904541aa839166f92e4c420924"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#ad824e2904541aa839166f92e4c420924">~FilteredIterator</a> ()</td></tr>
<tr class="memdesc:ad824e2904541aa839166f92e4c420924"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor.  <a href="#ad824e2904541aa839166f92e4c420924"></a><br/></td></tr>
<tr class="memitem:a420dc7e5ebf76e9d67dccecc631614ab"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a420dc7e5ebf76e9d67dccecc631614ab">start</a> ()</td></tr>
<tr class="memdesc:a420dc7e5ebf76e9d67dccecc631614ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start enumeration.  <a href="#a420dc7e5ebf76e9d67dccecc631614ab"></a><br/></td></tr>
<tr class="memitem:a766ec83fbbe7252ad6fe135038a3b903"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a766ec83fbbe7252ad6fe135038a3b903">restart</a> ()</td></tr>
<tr class="memdesc:a766ec83fbbe7252ad6fe135038a3b903"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restart enumeration.  <a href="#a766ec83fbbe7252ad6fe135038a3b903"></a><br/></td></tr>
<tr class="memitem:abe293b21a7b5e9aa38b4002e0ef90d50"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#abe293b21a7b5e9aa38b4002e0ef90d50">restartFrom</a> (long i)</td></tr>
<tr class="memdesc:abe293b21a7b5e9aa38b4002e0ef90d50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restart enumeration from a specified element.  <a href="#abe293b21a7b5e9aa38b4002e0ef90d50"></a><br/></td></tr>
<tr class="memitem:a09bf59a7d33354b269edef4c586561e2"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a09bf59a7d33354b269edef4c586561e2">next</a> ()</td></tr>
<tr class="memdesc:a09bf59a7d33354b269edef4c586561e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of the next element in the set according to the current enumeration.  <a href="#a09bf59a7d33354b269edef4c586561e2"></a><br/></td></tr>
<tr class="inherit_header pub_methods_classDirectlyAddressedSet_1_1Iterator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classDirectlyAddressedSet_1_1Iterator')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a></td></tr>
<tr class="memitem:aed6d9cffc7ce084fc3a4607ac9e7658d inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#aed6d9cffc7ce084fc3a4607ac9e7658d">~Iterator</a> ()</td></tr>
<tr class="memdesc:aed6d9cffc7ce084fc3a4607ac9e7658d inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor.  <a href="#aed6d9cffc7ce084fc3a4607ac9e7658d"></a><br/></td></tr>
<tr class="memitem:aec520a3f6d74fabb6d378051b070a22b inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#aec520a3f6d74fabb6d378051b070a22b">nextUpTo</a> (long to)=0</td></tr>
<tr class="memdesc:aec520a3f6d74fabb6d378051b070a22b inherit pub_methods_classDirectlyAddressedSet_1_1Iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumerates the first key in the set next to the current cursor position up to a specified value.  <a href="#aec520a3f6d74fabb6d378051b070a22b"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aeddc5ead37edc2f511a703ab0774b284"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#aeddc5ead37edc2f511a703ab0774b284">FilteredIterator</a> (<a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt; *<a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a04e5d8f7333a7ff1fbfb6e1f57212f1f">t</a>, <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *<a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a404447b128c0e925ef8689f69fcf1d72">filter</a>)</td></tr>
<tr class="memdesc:aeddc5ead37edc2f511a703ab0774b284"><td class="mdescLeft">&#160;</td><td class="mdescRight">A constructor for a Iterator over a specified <a class="el" href="classvEBTree.html">vEBTree</a>.  <a href="#aeddc5ead37edc2f511a703ab0774b284"></a><br/></td></tr>
<tr class="inherit_header pro_methods_classDirectlyAddressedSet_1_1Iterator"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classDirectlyAddressedSet_1_1Iterator')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a></td></tr>
<tr class="memitem:acc93f949a845d47f30ee6f6c75334577 inherit pro_methods_classDirectlyAddressedSet_1_1Iterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#acc93f949a845d47f30ee6f6c75334577">Iterator</a> ()</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a04e5d8f7333a7ff1fbfb6e1f57212f1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a><br class="typebreak"/>
&lt; T &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a04e5d8f7333a7ff1fbfb6e1f57212f1f">t</a></td></tr>
<tr class="memdesc:a04e5d8f7333a7ff1fbfb6e1f57212f1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">the enclosing vEBTree&lt;T&gt;, which gives access to vEBTree&lt;T&gt;::treeNode method.  <a href="#a04e5d8f7333a7ff1fbfb6e1f57212f1f"></a><br/></td></tr>
<tr class="memitem:a404447b128c0e925ef8689f69fcf1d72"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a404447b128c0e925ef8689f69fcf1d72">filter</a></td></tr>
<tr class="memdesc:a404447b128c0e925ef8689f69fcf1d72"><td class="mdescLeft">&#160;</td><td class="mdescRight">the filter to enumeration  <a href="#a404447b128c0e925ef8689f69fcf1d72"></a><br/></td></tr>
<tr class="memitem:a289bd887c770f522232f93333182b043"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a289bd887c770f522232f93333182b043">current</a></td></tr>
<tr class="memitem:a9da881bcf07eaf333002373bca304eec"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a9da881bcf07eaf333002373bca304eec">idx</a></td></tr>
<tr class="memdesc:a9da881bcf07eaf333002373bca304eec"><td class="mdescLeft">&#160;</td><td class="mdescRight">index of the current node in the last level.  <a href="#a9da881bcf07eaf333002373bca304eec"></a><br/></td></tr>
<tr class="memitem:acbfb64705626faf417c722dcb1f98933"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#acbfb64705626faf417c722dcb1f98933">word_size</a></td></tr>
<tr class="memdesc:acbfb64705626faf417c722dcb1f98933"><td class="mdescLeft">&#160;</td><td class="mdescRight">the size in bits of a word  <a href="#acbfb64705626faf417c722dcb1f98933"></a><br/></td></tr>
<tr class="memitem:a300adf2ce38797675a8ea9b73b038a1d"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a300adf2ce38797675a8ea9b73b038a1d">size</a></td></tr>
<tr class="memdesc:a300adf2ce38797675a8ea9b73b038a1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">the size of the <a class="el" href="classvEBTree.html">vEBTree</a> that is being enumerate, its a simple copy of the value t-&gt;<a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a300adf2ce38797675a8ea9b73b038a1d" title="the size of the vEBTree that is being enumerate, its a simple copy of the value t-&gt;size().">size()</a>.  <a href="#a300adf2ce38797675a8ea9b73b038a1d"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
class MultiLevelDirectlyAddressedSet&lt; T &gt;::FilteredIterator</h3>

<p>A filtered iterator on the set of elements. </p>
<p>The elements are enumerated in an increasing order, but only the ones that belong to the filter as well.</p>
<p>An object of this class keeps the state of an enumeration. This means that various enumerations can be performed simultaneously provided that each of them is associated with a different iterator.</p>
<p>The path from the root of the tree until last element enumerated is composed by nodes of the <a class="el" href="classvEBTree.html">vEBTree</a>. A binary search in this path using min and max information of subtrees allows a <img class="formulaInl" alt="$O(\log \log n)$" src="form_13.png"/> time complexity for each access. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aeddc5ead37edc2f511a703ab0774b284"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::FilteredIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *&#160;</td>
          <td class="paramname"><em>filter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A constructor for a Iterator over a specified <a class="el" href="classvEBTree.html">vEBTree</a>. </p>
<p>Create a Iterator to look up a specified <a class="el" href="classvEBTree.html">vEBTree</a>. The Iterator enumerate all the elements in the set represented by the object passed as parameter.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>the specified tree.</td></tr>
    <tr><td class="paramname">filter</td><td>the filter to the correspondent enumeration </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad824e2904541aa839166f92e4c420924"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::~FilteredIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a09bf59a7d33354b269edef4c586561e2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::next </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Index of the next element in the set according to the current enumeration. </p>
<p>The next element in the current enumeration. The order is the natural order between the natural numbers.</p>
<dl class="section return"><dt>Returns:</dt><dd>the next element, if exists one; otherwise, a value greater or equal to the size of the universe. </dd></dl>

<p>Implements <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#ab3ef5a45f421b1f1b2875e60977aafc7">DirectlyAddressedSet::Iterator</a>.</p>

</div>
</div>
<a class="anchor" id="a766ec83fbbe7252ad6fe135038a3b903"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::restart </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restart enumeration. </p>
<p>Restart the enumeration. It will lost all the current state and it will start over the enumeration.</p>
<p>Usually it is a simple call to <a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a420dc7e5ebf76e9d67dccecc631614ab" title="Start enumeration.">start()</a>.</p>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a420dc7e5ebf76e9d67dccecc631614ab" title="Start enumeration.">start()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#ae4eb65beabbaa126db89529f3d3e2f3a">DirectlyAddressedSet::Iterator</a>.</p>

</div>
</div>
<a class="anchor" id="abe293b21a7b5e9aa38b4002e0ef90d50"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::restartFrom </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Restart enumeration from a specified element. </p>
<p>Restart the enumeration. it will lost all the current state and it will start over from the smalest element in the set that is bigger or equal than the specified element.</p>
<p>If the specified element is not a element of the universe a error will occur.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">the</td><td>specified element </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html#a1421c0a751aafa1de9cd0bed72bd2bdd">DirectlyAddressedSet::Iterator</a>.</p>

</div>
</div>
<a class="anchor" id="a420dc7e5ebf76e9d67dccecc631614ab"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::start </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Start enumeration. </p>
<p>Initailize all the variables and start a enumeration of the elements in the set.</p>
<p>The variables idx and slide are set to zero and the initial word is set to be the first non null word. </p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a289bd887c770f522232f93333182b043"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::current</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a404447b128c0e925ef8689f69fcf1d72"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a>* <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::filter</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the filter to enumeration </p>

</div>
</div>
<a class="anchor" id="a9da881bcf07eaf333002373bca304eec"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::idx</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>index of the current node in the last level. </p>

</div>
</div>
<a class="anchor" id="a300adf2ce38797675a8ea9b73b038a1d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the size of the <a class="el" href="classvEBTree.html">vEBTree</a> that is being enumerate, its a simple copy of the value t-&gt;<a class="el" href="classMultiLevelDirectlyAddressedSet_1_1FilteredIterator.html#a300adf2ce38797675a8ea9b73b038a1d" title="the size of the vEBTree that is being enumerate, its a simple copy of the value t-&gt;size().">size()</a>. </p>

</div>
</div>
<a class="anchor" id="a04e5d8f7333a7ff1fbfb6e1f57212f1f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt;T&gt;* <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::t</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the enclosing vEBTree&lt;T&gt;, which gives access to vEBTree&lt;T&gt;::treeNode method. </p>

</div>
</div>
<a class="anchor" id="acbfb64705626faf417c722dcb1f98933"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::FilteredIterator::word_size</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the size in bits of a word </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>datastruct/<a class="el" href="MultiLevelDirectlyAddressedSet_8h_source.html">MultiLevelDirectlyAddressedSet.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Nov 11 2012 14:02:38 for Disjoint Stable Set Problems - Formulations by Representatives and Combinatorial Solvers by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>
